Code of conduct

I hereby acknowledge that the submitted assignment is my own work. During the preparation of this assignment I have worked together with Max Mohr and Felix Koehn.


This document is also available in this GitHub repository.

1 Interacting with the API - the basics

  1. Perform a first GET request, that searches for event venues in Germany (countryCode = "DE"). Extract the content from the response object and inspect the resulting list. Describe what you can see.
# load libraries
library(httr)
library(tidyverse)
library(rlist)
library(kableExtra)
# function to display a data frame more appealingly
print_df <- function(df, n = 10, scrollbox = FALSE) {
  
  # styling
  df_formatted <- df %>% 
    head(n = n) %>% 
    kbl() %>%
    kable_styling(bootstrap_options = c("striped", "hover", "condensed")) 
  
  # scrollbox
  if (scrollbox) {
    df_formatted <- df_formatted %>%  
    scroll_box(width = "100%")
  }
  
  # show data frame
  df_formatted
}
# get API key
apikey <- readLines("ticketmaster_api_key.txt", warn = FALSE)
# url for venues
url <- "https://app.ticketmaster.com/discovery/v2/venues"
# define params for API call
params <- list(apikey = apikey, countryCode = "DE", locale = "*")

# get response from API and extract content
venues_DE_first_page <- GET(url = url, query = params) %>% content()

# show response
venues_DE_first_page
## $`_embedded`
## $`_embedded`$venues
## $`_embedded`$venues[[1]]
## $`_embedded`$venues[[1]]$name
## [1] "Grosse Freiheit 36"
## 
## $`_embedded`$venues[[1]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[1]]$id
## [1] "KovZpZAn6vEA"
## 
## $`_embedded`$venues[[1]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[1]]$url
## [1] "http://www.ticketmaster.de/venue/287636"
## 
## $`_embedded`$venues[[1]]$locale
## [1] "en-de"
## 
## $`_embedded`$venues[[1]]$images
## $`_embedded`$venues[[1]]$images[[1]]
## $`_embedded`$venues[[1]]$images[[1]]$ratio
## [1] "16_9"
## 
## $`_embedded`$venues[[1]]$images[[1]]$url
## [1] "https://s1.ticketm.net/dbimages/962v."
## 
## $`_embedded`$venues[[1]]$images[[1]]$width
## [1] 205
## 
## $`_embedded`$venues[[1]]$images[[1]]$height
## [1] 115
## 
## $`_embedded`$venues[[1]]$images[[1]]$fallback
## [1] FALSE
## 
## 
## 
## $`_embedded`$venues[[1]]$postalCode
## [1] "22767"
## 
## $`_embedded`$venues[[1]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[1]]$city
## $`_embedded`$venues[[1]]$city$name
## [1] "Hamburg"
## 
## 
## $`_embedded`$venues[[1]]$country
## $`_embedded`$venues[[1]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[1]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[1]]$address
## $`_embedded`$venues[[1]]$address$line1
## [1] "Grosse Freiheit 36"
## 
## 
## $`_embedded`$venues[[1]]$location
## $`_embedded`$venues[[1]]$location$longitude
## [1] "9.957905"
## 
## $`_embedded`$venues[[1]]$location$latitude
## [1] "53.551187"
## 
## 
## $`_embedded`$venues[[1]]$markets
## $`_embedded`$venues[[1]]$markets[[1]]
## $`_embedded`$venues[[1]]$markets[[1]]$name
## [1] "Germany"
## 
## $`_embedded`$venues[[1]]$markets[[1]]$id
## [1] "210"
## 
## 
## 
## $`_embedded`$venues[[1]]$dmas
## $`_embedded`$venues[[1]]$dmas[[1]]
## $`_embedded`$venues[[1]]$dmas[[1]]$id
## [1] 610
## 
## 
## 
## $`_embedded`$venues[[1]]$boxOfficeInfo
## $`_embedded`$venues[[1]]$boxOfficeInfo$phoneNumberDetail
## [1] "Telefon tagsüber: (040) 31 77 78- 0 Große Freiheit 36 22767 Hamburg E-Mail: info@grossefreiheit36.de"
## 
## 
## $`_embedded`$venues[[1]]$upcomingEvents
## $`_embedded`$venues[[1]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[1]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[1]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[1]]$ada
## $`_embedded`$venues[[1]]$ada$adaPhones
## [1] "+49.(0)1805 - 969 0000 (14 Ct./Min.)"
## 
## $`_embedded`$venues[[1]]$ada$adaCustomCopy
## [1] "Sollten Sie besondere Sitzplatzwünsche haben, prüfen Sie bitte die Informationsseite des Veranstaltungsortes. Für weitergehende Informationen steht Ihnen unsere Hotline unter +49.(0)1805 - 969 0000 (14 Ct./Min.) zur Verfügung."
## 
## $`_embedded`$venues[[1]]$ada$adaHours
## [1] "Montag bis Freitag, in der Zeit von 9.00-19.00 Uhr sowie sonnabends von 10.00-18.00 Uhr zur Verfügung."
## 
## 
## $`_embedded`$venues[[1]]$`_links`
## $`_embedded`$venues[[1]]$`_links`$self
## $`_embedded`$venues[[1]]$`_links`$self$href
## [1] "/discovery/v2/venues/KovZpZAn6vEA?locale=en-de"
## 
## 
## 
## 
## $`_embedded`$venues[[2]]
## $`_embedded`$venues[[2]]$name
## [1] "Gruenspan"
## 
## $`_embedded`$venues[[2]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[2]]$id
## [1] "KovZpZAneakA"
## 
## $`_embedded`$venues[[2]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[2]]$url
## [1] "http://www.ticketmaster.de/venue/287155"
## 
## $`_embedded`$venues[[2]]$locale
## [1] "en-de"
## 
## $`_embedded`$venues[[2]]$images
## $`_embedded`$venues[[2]]$images[[1]]
## $`_embedded`$venues[[2]]$images[[1]]$ratio
## [1] "16_9"
## 
## $`_embedded`$venues[[2]]$images[[1]]$url
## [1] "https://s1.ticketm.net/dbimages/2057v."
## 
## $`_embedded`$venues[[2]]$images[[1]]$width
## [1] 205
## 
## $`_embedded`$venues[[2]]$images[[1]]$height
## [1] 115
## 
## $`_embedded`$venues[[2]]$images[[1]]$fallback
## [1] FALSE
## 
## 
## 
## $`_embedded`$venues[[2]]$postalCode
## [1] "22767"
## 
## $`_embedded`$venues[[2]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[2]]$city
## $`_embedded`$venues[[2]]$city$name
## [1] "Hamburg"
## 
## 
## $`_embedded`$venues[[2]]$country
## $`_embedded`$venues[[2]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[2]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[2]]$address
## $`_embedded`$venues[[2]]$address$line1
## [1] "Grosse Freiheit 58"
## 
## 
## $`_embedded`$venues[[2]]$location
## $`_embedded`$venues[[2]]$location$longitude
## [1] "9.958075"
## 
## $`_embedded`$venues[[2]]$location$latitude
## [1] "53.551885"
## 
## 
## $`_embedded`$venues[[2]]$markets
## $`_embedded`$venues[[2]]$markets[[1]]
## $`_embedded`$venues[[2]]$markets[[1]]$name
## [1] "Germany"
## 
## $`_embedded`$venues[[2]]$markets[[1]]$id
## [1] "210"
## 
## 
## 
## $`_embedded`$venues[[2]]$dmas
## $`_embedded`$venues[[2]]$dmas[[1]]
## $`_embedded`$venues[[2]]$dmas[[1]]$id
## [1] 610
## 
## 
## 
## $`_embedded`$venues[[2]]$boxOfficeInfo
## $`_embedded`$venues[[2]]$boxOfficeInfo$phoneNumberDetail
## [1] "Gruenspan Große Freiheit 58 22767 Hamburg Tel: 040-313616 mail: info@gruenspan.de web: www.gruenspan.de"
## 
## 
## $`_embedded`$venues[[2]]$upcomingEvents
## $`_embedded`$venues[[2]]$upcomingEvents$`_total`
## [1] 2
## 
## $`_embedded`$venues[[2]]$upcomingEvents$`mfx-de`
## [1] 2
## 
## $`_embedded`$venues[[2]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[2]]$ada
## $`_embedded`$venues[[2]]$ada$adaPhones
## [1] "+49.(0)1805 - 969 0000 (14 Ct./Min.)"
## 
## $`_embedded`$venues[[2]]$ada$adaCustomCopy
## [1] "Sollten Sie besondere Sitzplatzwünsche haben, prüfen Sie bitte die Informationsseite des Veranstaltungsortes. Für weitergehende Informationen steht Ihnen unsere Hotline unter +49.(0)1805 - 969 0000 (14 Ct./Min.) zur Verfügung."
## 
## $`_embedded`$venues[[2]]$ada$adaHours
## [1] "Montag bis Freitag, in der Zeit von 9.00-19.00 Uhr sowie sonnabends von 10.00-18.00 Uhr zur Verfügung."
## 
## 
## $`_embedded`$venues[[2]]$`_links`
## $`_embedded`$venues[[2]]$`_links`$self
## $`_embedded`$venues[[2]]$`_links`$self$href
## [1] "/discovery/v2/venues/KovZpZAneakA?locale=en-de"
## 
## 
## 
## 
## $`_embedded`$venues[[3]]
## $`_embedded`$venues[[3]]$name
## [1] "Huxleys Neue Welt"
## 
## $`_embedded`$venues[[3]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[3]]$id
## [1] "KovZpZAtnIJA"
## 
## $`_embedded`$venues[[3]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[3]]$url
## [1] "http://www.ticketmaster.de/venue/286842"
## 
## $`_embedded`$venues[[3]]$locale
## [1] "en-de"
## 
## $`_embedded`$venues[[3]]$images
## $`_embedded`$venues[[3]]$images[[1]]
## $`_embedded`$venues[[3]]$images[[1]]$ratio
## [1] "16_9"
## 
## $`_embedded`$venues[[3]]$images[[1]]$url
## [1] "https://s1.ticketm.net/dbimages/2146v.jpg"
## 
## $`_embedded`$venues[[3]]$images[[1]]$width
## [1] 205
## 
## $`_embedded`$venues[[3]]$images[[1]]$height
## [1] 115
## 
## $`_embedded`$venues[[3]]$images[[1]]$fallback
## [1] FALSE
## 
## 
## 
## $`_embedded`$venues[[3]]$postalCode
## [1] "10967"
## 
## $`_embedded`$venues[[3]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[3]]$city
## $`_embedded`$venues[[3]]$city$name
## [1] "Berlin"
## 
## 
## $`_embedded`$venues[[3]]$country
## $`_embedded`$venues[[3]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[3]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[3]]$address
## $`_embedded`$venues[[3]]$address$line1
## [1] "Hasenheide 107 – 113"
## 
## 
## $`_embedded`$venues[[3]]$location
## $`_embedded`$venues[[3]]$location$longitude
## [1] "13.42138"
## 
## $`_embedded`$venues[[3]]$location$latitude
## [1] "52.486391"
## 
## 
## $`_embedded`$venues[[3]]$markets
## $`_embedded`$venues[[3]]$markets[[1]]
## $`_embedded`$venues[[3]]$markets[[1]]$name
## [1] "Germany"
## 
## $`_embedded`$venues[[3]]$markets[[1]]$id
## [1] "210"
## 
## 
## 
## $`_embedded`$venues[[3]]$dmas
## $`_embedded`$venues[[3]]$dmas[[1]]
## $`_embedded`$venues[[3]]$dmas[[1]]$id
## [1] 610
## 
## 
## 
## $`_embedded`$venues[[3]]$boxOfficeInfo
## $`_embedded`$venues[[3]]$boxOfficeInfo$phoneNumberDetail
## [1] "Huxleys Neue Welt Hasenheide 107-113 10967 Berlin Neukölln Tel 030 621 10 28"
## 
## 
## $`_embedded`$venues[[3]]$upcomingEvents
## $`_embedded`$venues[[3]]$upcomingEvents$`_total`
## [1] 9
## 
## $`_embedded`$venues[[3]]$upcomingEvents$`mfx-de`
## [1] 9
## 
## $`_embedded`$venues[[3]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[3]]$ada
## $`_embedded`$venues[[3]]$ada$adaPhones
## [1] "+49.(0)1805 - 969 0000 (14 Ct./Min.)"
## 
## $`_embedded`$venues[[3]]$ada$adaCustomCopy
## [1] "Sollten Sie besondere Sitzplatzwünsche haben, prüfen Sie bitte die Informationsseite des Veranstaltungsortes. Für weitergehende Informationen steht Ihnen unsere Hotline unter +49.(0)1805 - 969 0000 (14 Ct./Min.) zur Verfügung."
## 
## $`_embedded`$venues[[3]]$ada$adaHours
## [1] "Montag bis Freitag, in der Zeit von 9.00-19.00 Uhr sowie sonnabends von 10.00-18.00 Uhr zur Verfügung."
## 
## 
## $`_embedded`$venues[[3]]$`_links`
## $`_embedded`$venues[[3]]$`_links`$self
## $`_embedded`$venues[[3]]$`_links`$self$href
## [1] "/discovery/v2/venues/KovZpZAtnIJA?locale=en-de"
## 
## 
## 
## 
## $`_embedded`$venues[[4]]
## $`_embedded`$venues[[4]]$name
## [1] "Zentrum am Park"
## 
## $`_embedded`$venues[[4]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[4]]$id
## [1] "Z598xZC2Z161k"
## 
## $`_embedded`$venues[[4]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[4]]$url
## [1] "https://www.ticketmaster.de/venue/zentrum-am-park-emmelshausen-tickets/elszentrum/701"
## 
## $`_embedded`$venues[[4]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[4]]$postalCode
## [1] "56281"
## 
## $`_embedded`$venues[[4]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[4]]$city
## $`_embedded`$venues[[4]]$city$name
## [1] "Emmelshausen"
## 
## 
## $`_embedded`$venues[[4]]$country
## $`_embedded`$venues[[4]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[4]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[4]]$address
## $`_embedded`$venues[[4]]$address$line1
## [1] "Rhein-Mosel-Straße 45"
## 
## 
## $`_embedded`$venues[[4]]$location
## $`_embedded`$venues[[4]]$location$longitude
## [1] "7.55656"
## 
## $`_embedded`$venues[[4]]$location$latitude
## [1] "50.15544"
## 
## 
## $`_embedded`$venues[[4]]$upcomingEvents
## $`_embedded`$venues[[4]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[4]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[4]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[4]]$`_links`
## $`_embedded`$venues[[4]]$`_links`$self
## $`_embedded`$venues[[4]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2Z161k?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[5]]
## $`_embedded`$venues[[5]]$name
## [1] "Stadthalle (Theatersaal)"
## 
## $`_embedded`$venues[[5]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[5]]$id
## [1] "Z598xZC2Z1aAF"
## 
## $`_embedded`$venues[[5]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[5]]$url
## [1] "https://www.ticketmaster.de/venue/stadthalle-theatersaal--mulheim-tickets/mrustadtth/711"
## 
## $`_embedded`$venues[[5]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[5]]$postalCode
## [1] "45479"
## 
## $`_embedded`$venues[[5]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[5]]$city
## $`_embedded`$venues[[5]]$city$name
## [1] "Mülheim"
## 
## 
## $`_embedded`$venues[[5]]$country
## $`_embedded`$venues[[5]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[5]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[5]]$address
## $`_embedded`$venues[[5]]$address$line1
## [1] "Theodor-Heuss-Platz 1"
## 
## 
## $`_embedded`$venues[[5]]$location
## $`_embedded`$venues[[5]]$location$longitude
## [1] "6.87471"
## 
## $`_embedded`$venues[[5]]$location$latitude
## [1] "51.42778"
## 
## 
## $`_embedded`$venues[[5]]$upcomingEvents
## $`_embedded`$venues[[5]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[5]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[5]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[5]]$`_links`
## $`_embedded`$venues[[5]]$`_links`$self
## $`_embedded`$venues[[5]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2Z1aAF?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[6]]
## $`_embedded`$venues[[6]]$name
## [1] "Schlossgarten"
## 
## $`_embedded`$venues[[6]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[6]]$id
## [1] "Z598xZC2Z6Fv7"
## 
## $`_embedded`$venues[[6]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[6]]$url
## [1] "https://www.ticketmaster.de/venue/schlossgarten-bruchsal-tickets/bruparkanl/701"
## 
## $`_embedded`$venues[[6]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[6]]$postalCode
## [1] "76646"
## 
## $`_embedded`$venues[[6]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[6]]$city
## $`_embedded`$venues[[6]]$city$name
## [1] "Bruchsal"
## 
## 
## $`_embedded`$venues[[6]]$country
## $`_embedded`$venues[[6]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[6]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[6]]$address
## $`_embedded`$venues[[6]]$address$line1
## [1] "Schloss Bruchsal"
## 
## 
## $`_embedded`$venues[[6]]$location
## $`_embedded`$venues[[6]]$location$longitude
## [1] "8.59908"
## 
## $`_embedded`$venues[[6]]$location$latitude
## [1] "49.12692"
## 
## 
## $`_embedded`$venues[[6]]$upcomingEvents
## $`_embedded`$venues[[6]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[6]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[6]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[6]]$`_links`
## $`_embedded`$venues[[6]]$`_links`$self
## $`_embedded`$venues[[6]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2Z6Fv7?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[7]]
## $`_embedded`$venues[[7]]$name
## [1] "Stadthalle"
## 
## $`_embedded`$venues[[7]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[7]]$id
## [1] "Z598xZC2Z6ve1"
## 
## $`_embedded`$venues[[7]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[7]]$url
## [1] "https://www.ticketmaster.de/venue/stadthalle-hockenheim-tickets/hokstadtha/701"
## 
## $`_embedded`$venues[[7]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[7]]$postalCode
## [1] "68766"
## 
## $`_embedded`$venues[[7]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[7]]$city
## $`_embedded`$venues[[7]]$city$name
## [1] "Hockenheim"
## 
## 
## $`_embedded`$venues[[7]]$country
## $`_embedded`$venues[[7]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[7]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[7]]$address
## $`_embedded`$venues[[7]]$address$line1
## [1] "Rathausstraße 3"
## 
## 
## $`_embedded`$venues[[7]]$location
## $`_embedded`$venues[[7]]$location$longitude
## [1] "8.54908"
## 
## $`_embedded`$venues[[7]]$location$latitude
## [1] "49.31849"
## 
## 
## $`_embedded`$venues[[7]]$upcomingEvents
## $`_embedded`$venues[[7]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[7]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[7]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[7]]$`_links`
## $`_embedded`$venues[[7]]$`_links`$self
## $`_embedded`$venues[[7]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2Z6ve1?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[8]]
## $`_embedded`$venues[[8]]$name
## [1] "FZW"
## 
## $`_embedded`$venues[[8]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[8]]$id
## [1] "Z598xZC2Z71ke"
## 
## $`_embedded`$venues[[8]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[8]]$url
## [1] "https://www.ticketmaster.de/venue/fzw-dortmund-tickets/dorfzw/701"
## 
## $`_embedded`$venues[[8]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[8]]$postalCode
## [1] "44263"
## 
## $`_embedded`$venues[[8]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[8]]$city
## $`_embedded`$venues[[8]]$city$name
## [1] "Dortmund"
## 
## 
## $`_embedded`$venues[[8]]$country
## $`_embedded`$venues[[8]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[8]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[8]]$address
## $`_embedded`$venues[[8]]$address$line1
## [1] "Ritterstraße 20"
## 
## 
## $`_embedded`$venues[[8]]$location
## $`_embedded`$venues[[8]]$location$longitude
## [1] "7.4501"
## 
## $`_embedded`$venues[[8]]$location$latitude
## [1] "51.51481"
## 
## 
## $`_embedded`$venues[[8]]$upcomingEvents
## $`_embedded`$venues[[8]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[8]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[8]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[8]]$`_links`
## $`_embedded`$venues[[8]]$`_links`$self
## $`_embedded`$venues[[8]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2Z71ke?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[9]]
## $`_embedded`$venues[[9]]$name
## [1] "Arena Trier"
## 
## $`_embedded`$venues[[9]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[9]]$id
## [1] "Z598xZC2ZAadk"
## 
## $`_embedded`$venues[[9]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[9]]$url
## [1] "https://www.ticketmaster.de/venue/arena-trier-trier-tickets/triarena/701"
## 
## $`_embedded`$venues[[9]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[9]]$postalCode
## [1] "54292"
## 
## $`_embedded`$venues[[9]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[9]]$city
## $`_embedded`$venues[[9]]$city$name
## [1] "Trier"
## 
## 
## $`_embedded`$venues[[9]]$country
## $`_embedded`$venues[[9]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[9]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[9]]$address
## $`_embedded`$venues[[9]]$address$line1
## [1] "Fort-Worth-Platz 1"
## 
## 
## $`_embedded`$venues[[9]]$location
## $`_embedded`$venues[[9]]$location$longitude
## [1] "6.66426"
## 
## $`_embedded`$venues[[9]]$location$latitude
## [1] "49.77183"
## 
## 
## $`_embedded`$venues[[9]]$upcomingEvents
## $`_embedded`$venues[[9]]$upcomingEvents$`_total`
## [1] 8
## 
## $`_embedded`$venues[[9]]$upcomingEvents$`mfx-de`
## [1] 8
## 
## $`_embedded`$venues[[9]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[9]]$`_links`
## $`_embedded`$venues[[9]]$`_links`$self
## $`_embedded`$venues[[9]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2ZAadk?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[10]]
## $`_embedded`$venues[[10]]$name
## [1] "Eissporthalle"
## 
## $`_embedded`$venues[[10]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[10]]$id
## [1] "Z598xZC2ZFAk7"
## 
## $`_embedded`$venues[[10]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[10]]$url
## [1] "https://www.ticketmaster.de/venue/eissporthalle-memmingen-tickets/mmmeisspor/701"
## 
## $`_embedded`$venues[[10]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[10]]$postalCode
## [1] "87700"
## 
## $`_embedded`$venues[[10]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[10]]$city
## $`_embedded`$venues[[10]]$city$name
## [1] "Memmingen"
## 
## 
## $`_embedded`$venues[[10]]$country
## $`_embedded`$venues[[10]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[10]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[10]]$address
## $`_embedded`$venues[[10]]$address$line1
## [1] "Hühnerbergstraße 19"
## 
## 
## $`_embedded`$venues[[10]]$location
## $`_embedded`$venues[[10]]$location$longitude
## [1] "10.16293"
## 
## $`_embedded`$venues[[10]]$location$latitude
## [1] "47.97999"
## 
## 
## $`_embedded`$venues[[10]]$upcomingEvents
## $`_embedded`$venues[[10]]$upcomingEvents$`_total`
## [1] 3
## 
## $`_embedded`$venues[[10]]$upcomingEvents$`mfx-de`
## [1] 3
## 
## $`_embedded`$venues[[10]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[10]]$`_links`
## $`_embedded`$venues[[10]]$`_links`$self
## $`_embedded`$venues[[10]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2ZFAk7?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[11]]
## $`_embedded`$venues[[11]]$name
## [1] "Stadthalle Gersthofen"
## 
## $`_embedded`$venues[[11]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[11]]$id
## [1] "Z598xZC2ZFAv7"
## 
## $`_embedded`$venues[[11]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[11]]$url
## [1] "https://www.ticketmaster.de/venue/stadthalle-gersthofen-gersthofen-tickets/augstadtha/701"
## 
## $`_embedded`$venues[[11]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[11]]$images
## $`_embedded`$venues[[11]]$images[[1]]
## $`_embedded`$venues[[11]]$images[[1]]$ratio
## [1] "16_9"
## 
## $`_embedded`$venues[[11]]$images[[1]]$url
## [1] "https://media.ticketmaster.eu/germany/a0c2196cf724714be0e9c7631ca0859a.png"
## 
## $`_embedded`$venues[[11]]$images[[1]]$width
## [1] 205
## 
## $`_embedded`$venues[[11]]$images[[1]]$height
## [1] 115
## 
## $`_embedded`$venues[[11]]$images[[1]]$fallback
## [1] FALSE
## 
## 
## 
## $`_embedded`$venues[[11]]$postalCode
## [1] "86368"
## 
## $`_embedded`$venues[[11]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[11]]$city
## $`_embedded`$venues[[11]]$city$name
## [1] "Gersthofen"
## 
## 
## $`_embedded`$venues[[11]]$country
## $`_embedded`$venues[[11]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[11]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[11]]$address
## $`_embedded`$venues[[11]]$address$line1
## [1] "Rathausplatz 2"
## 
## 
## $`_embedded`$venues[[11]]$location
## $`_embedded`$venues[[11]]$location$longitude
## [1] "10.87803"
## 
## $`_embedded`$venues[[11]]$location$latitude
## [1] "48.42433"
## 
## 
## $`_embedded`$venues[[11]]$upcomingEvents
## $`_embedded`$venues[[11]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[11]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[11]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[11]]$`_links`
## $`_embedded`$venues[[11]]$`_links`$self
## $`_embedded`$venues[[11]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2ZFAv7?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[12]]
## $`_embedded`$venues[[12]]$name
## [1] "Feierwerk (Kranhalle)"
## 
## $`_embedded`$venues[[12]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[12]]$id
## [1] "Z598xZC2ZFdee"
## 
## $`_embedded`$venues[[12]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[12]]$url
## [1] "https://www.ticketmaster.de/venue/feierwerk-kranhalle--munchen-tickets/muefeierwk/701"
## 
## $`_embedded`$venues[[12]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[12]]$postalCode
## [1] "81373"
## 
## $`_embedded`$venues[[12]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[12]]$city
## $`_embedded`$venues[[12]]$city$name
## [1] "Munich"
## 
## 
## $`_embedded`$venues[[12]]$country
## $`_embedded`$venues[[12]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[12]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[12]]$address
## $`_embedded`$venues[[12]]$address$line1
## [1] "Hansastraße 39-41"
## 
## 
## $`_embedded`$venues[[12]]$location
## $`_embedded`$venues[[12]]$location$longitude
## [1] "11.53389"
## 
## $`_embedded`$venues[[12]]$location$latitude
## [1] "48.12914"
## 
## 
## $`_embedded`$venues[[12]]$upcomingEvents
## $`_embedded`$venues[[12]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[12]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[12]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[12]]$`_links`
## $`_embedded`$venues[[12]]$`_links`$self
## $`_embedded`$venues[[12]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2ZFdee?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[13]]
## $`_embedded`$venues[[13]]$name
## [1] "Feierwerk (Hansa 39)"
## 
## $`_embedded`$venues[[13]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[13]]$id
## [1] "Z598xZC2ZFdek"
## 
## $`_embedded`$venues[[13]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[13]]$url
## [1] "https://www.ticketmaster.de/venue/feierwerk-hansa-39--munchen-tickets/muehansane/701"
## 
## $`_embedded`$venues[[13]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[13]]$postalCode
## [1] "81373"
## 
## $`_embedded`$venues[[13]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[13]]$city
## $`_embedded`$venues[[13]]$city$name
## [1] "Munich"
## 
## 
## $`_embedded`$venues[[13]]$country
## $`_embedded`$venues[[13]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[13]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[13]]$address
## $`_embedded`$venues[[13]]$address$line1
## [1] "Hansastraße 39-41"
## 
## 
## $`_embedded`$venues[[13]]$location
## $`_embedded`$venues[[13]]$location$longitude
## [1] "11.53389"
## 
## $`_embedded`$venues[[13]]$location$latitude
## [1] "48.12914"
## 
## 
## $`_embedded`$venues[[13]]$upcomingEvents
## $`_embedded`$venues[[13]]$upcomingEvents$`_total`
## [1] 2
## 
## $`_embedded`$venues[[13]]$upcomingEvents$`mfx-de`
## [1] 2
## 
## $`_embedded`$venues[[13]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[13]]$`_links`
## $`_embedded`$venues[[13]]$`_links`$self
## $`_embedded`$venues[[13]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2ZFdek?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[14]]
## $`_embedded`$venues[[14]]$name
## [1] "Burghof - STIMMEN-Festival"
## 
## $`_embedded`$venues[[14]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[14]]$id
## [1] "Z598xZC2ZFvA1"
## 
## $`_embedded`$venues[[14]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[14]]$url
## [1] "https://www.ticketmaster.de/venue/burghof-stimmen-festival-lorrach-tickets/loeburghof/701"
## 
## $`_embedded`$venues[[14]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[14]]$postalCode
## [1] "79539"
## 
## $`_embedded`$venues[[14]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[14]]$city
## $`_embedded`$venues[[14]]$city$name
## [1] "Lörrach"
## 
## 
## $`_embedded`$venues[[14]]$country
## $`_embedded`$venues[[14]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[14]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[14]]$address
## $`_embedded`$venues[[14]]$address$line1
## [1] "Herrenstraße 5"
## 
## 
## $`_embedded`$venues[[14]]$location
## $`_embedded`$venues[[14]]$location$longitude
## [1] "7.65919"
## 
## $`_embedded`$venues[[14]]$location$latitude
## [1] "47.61109"
## 
## 
## $`_embedded`$venues[[14]]$upcomingEvents
## $`_embedded`$venues[[14]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[14]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[14]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[14]]$`_links`
## $`_embedded`$venues[[14]]$`_links`$self
## $`_embedded`$venues[[14]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2ZFvA1?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[15]]
## $`_embedded`$venues[[15]]$name
## [1] "Schiesssportanlage"
## 
## $`_embedded`$venues[[15]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[15]]$id
## [1] "Z598xZC2Zakke"
## 
## $`_embedded`$venues[[15]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[15]]$url
## [1] "https://www.ticketmaster.de/venue/schiesssportanlage-neu-wulmstorf-tickets/nwuschiess/701"
## 
## $`_embedded`$venues[[15]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[15]]$postalCode
## [1] "21629"
## 
## $`_embedded`$venues[[15]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[15]]$city
## $`_embedded`$venues[[15]]$city$name
## [1] "Neu Wulmstorf"
## 
## 
## $`_embedded`$venues[[15]]$country
## $`_embedded`$venues[[15]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[15]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[15]]$address
## $`_embedded`$venues[[15]]$address$line1
## [1] "Wesenberg 1"
## 
## 
## $`_embedded`$venues[[15]]$location
## $`_embedded`$venues[[15]]$location$longitude
## [1] "9.79941"
## 
## $`_embedded`$venues[[15]]$location$latitude
## [1] "53.45047"
## 
## 
## $`_embedded`$venues[[15]]$upcomingEvents
## $`_embedded`$venues[[15]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[15]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[15]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[15]]$`_links`
## $`_embedded`$venues[[15]]$`_links`$self
## $`_embedded`$venues[[15]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2Zakke?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[16]]
## $`_embedded`$venues[[16]]$name
## [1] "WUNDERINO ARENA"
## 
## $`_embedded`$venues[[16]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[16]]$id
## [1] "Z598xZC2Zd7v1"
## 
## $`_embedded`$venues[[16]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[16]]$url
## [1] "https://www.ticketmaster.de/venue/wunderino-arena-kiel-tickets/kiesparkas/701"
## 
## $`_embedded`$venues[[16]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[16]]$postalCode
## [1] "24103"
## 
## $`_embedded`$venues[[16]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[16]]$city
## $`_embedded`$venues[[16]]$city$name
## [1] "Kiel"
## 
## 
## $`_embedded`$venues[[16]]$country
## $`_embedded`$venues[[16]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[16]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[16]]$address
## $`_embedded`$venues[[16]]$address$line1
## [1] "Europaplatz 1"
## 
## 
## $`_embedded`$venues[[16]]$location
## $`_embedded`$venues[[16]]$location$longitude
## [1] "10.13139"
## 
## $`_embedded`$venues[[16]]$location$latitude
## [1] "54.32057"
## 
## 
## $`_embedded`$venues[[16]]$upcomingEvents
## $`_embedded`$venues[[16]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[16]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[16]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[16]]$`_links`
## $`_embedded`$venues[[16]]$`_links`$self
## $`_embedded`$venues[[16]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2Zd7v1?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[17]]
## $`_embedded`$venues[[17]]$name
## [1] "Stadtpark Open Air"
## 
## $`_embedded`$venues[[17]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[17]]$id
## [1] "Z598xZC2Ze11e"
## 
## $`_embedded`$venues[[17]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[17]]$url
## [1] "https://www.ticketmaster.de/venue/stadtpark-open-air-hamburg-tickets/hamstadtpf/701"
## 
## $`_embedded`$venues[[17]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[17]]$postalCode
## [1] "22303"
## 
## $`_embedded`$venues[[17]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[17]]$city
## $`_embedded`$venues[[17]]$city$name
## [1] "Hamburg"
## 
## 
## $`_embedded`$venues[[17]]$country
## $`_embedded`$venues[[17]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[17]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[17]]$address
## $`_embedded`$venues[[17]]$address$line1
## [1] "Saarlandstraße / Ecke Jahnring"
## 
## 
## $`_embedded`$venues[[17]]$location
## $`_embedded`$venues[[17]]$location$longitude
## [1] "10.0295"
## 
## $`_embedded`$venues[[17]]$location$latitude
## [1] "53.60036"
## 
## 
## $`_embedded`$venues[[17]]$upcomingEvents
## $`_embedded`$venues[[17]]$upcomingEvents$`_total`
## [1] 3
## 
## $`_embedded`$venues[[17]]$upcomingEvents$`mfx-de`
## [1] 3
## 
## $`_embedded`$venues[[17]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[17]]$`_links`
## $`_embedded`$venues[[17]]$`_links`$self
## $`_embedded`$venues[[17]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2Ze11e?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[18]]
## $`_embedded`$venues[[18]]$name
## [1] "Laeiszhalle (Großer Saal)"
## 
## $`_embedded`$venues[[18]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[18]]$id
## [1] "Z598xZC2Ze6ek"
## 
## $`_embedded`$venues[[18]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[18]]$url
## [1] "https://www.ticketmaster.de/venue/laeiszhalle-grosser-saal--hamburg-tickets/hamlaieszg/701"
## 
## $`_embedded`$venues[[18]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[18]]$postalCode
## [1] "20355"
## 
## $`_embedded`$venues[[18]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[18]]$city
## $`_embedded`$venues[[18]]$city$name
## [1] "Hamburg"
## 
## 
## $`_embedded`$venues[[18]]$country
## $`_embedded`$venues[[18]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[18]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[18]]$address
## $`_embedded`$venues[[18]]$address$line1
## [1] "Johannes-Brahms-Platz"
## 
## 
## $`_embedded`$venues[[18]]$location
## $`_embedded`$venues[[18]]$location$longitude
## [1] "9.98061"
## 
## $`_embedded`$venues[[18]]$location$latitude
## [1] "53.55538"
## 
## 
## $`_embedded`$venues[[18]]$upcomingEvents
## $`_embedded`$venues[[18]]$upcomingEvents$`_total`
## [1] 2
## 
## $`_embedded`$venues[[18]]$upcomingEvents$`mfx-de`
## [1] 2
## 
## $`_embedded`$venues[[18]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[18]]$`_links`
## $`_embedded`$venues[[18]]$`_links`$self
## $`_embedded`$venues[[18]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2Ze6ek?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[19]]
## $`_embedded`$venues[[19]]$name
## [1] "Friedrich-Ebert-Halle"
## 
## $`_embedded`$venues[[19]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[19]]$id
## [1] "Z598xZC2Zeadk"
## 
## $`_embedded`$venues[[19]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[19]]$url
## [1] "https://www.ticketmaster.de/venue/friedrich-ebert-halle-hamburg-tickets/hamfriedri/701"
## 
## $`_embedded`$venues[[19]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[19]]$postalCode
## [1] "21075"
## 
## $`_embedded`$venues[[19]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[19]]$city
## $`_embedded`$venues[[19]]$city$name
## [1] "Hamburg"
## 
## 
## $`_embedded`$venues[[19]]$country
## $`_embedded`$venues[[19]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[19]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[19]]$address
## $`_embedded`$venues[[19]]$address$line1
## [1] "Alter Postweg 30-38"
## 
## 
## $`_embedded`$venues[[19]]$location
## $`_embedded`$venues[[19]]$location$longitude
## [1] "9.96507"
## 
## $`_embedded`$venues[[19]]$location$latitude
## [1] "53.46498"
## 
## 
## $`_embedded`$venues[[19]]$upcomingEvents
## $`_embedded`$venues[[19]]$upcomingEvents$`_total`
## [1] 1
## 
## $`_embedded`$venues[[19]]$upcomingEvents$`mfx-de`
## [1] 1
## 
## $`_embedded`$venues[[19]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[19]]$`_links`
## $`_embedded`$venues[[19]]$`_links`$self
## $`_embedded`$venues[[19]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2Zeadk?locale=de-de"
## 
## 
## 
## 
## $`_embedded`$venues[[20]]
## $`_embedded`$venues[[20]]$name
## [1] "myticket Jahrhunderthalle"
## 
## $`_embedded`$venues[[20]]$type
## [1] "venue"
## 
## $`_embedded`$venues[[20]]$id
## [1] "Z598xZC2ZkF6F"
## 
## $`_embedded`$venues[[20]]$test
## [1] FALSE
## 
## $`_embedded`$venues[[20]]$url
## [1] "https://www.ticketmaster.de/venue/myticket-jahrhunderthalle-frankfurt-am-main-tickets/famjahrkup/701"
## 
## $`_embedded`$venues[[20]]$locale
## [1] "de-de"
## 
## $`_embedded`$venues[[20]]$images
## $`_embedded`$venues[[20]]$images[[1]]
## $`_embedded`$venues[[20]]$images[[1]]$ratio
## [1] "16_9"
## 
## $`_embedded`$venues[[20]]$images[[1]]$url
## [1] "https://media.ticketmaster.eu/germany/a73a35f3fdad97e3e12525ff6a9152db.jpg"
## 
## $`_embedded`$venues[[20]]$images[[1]]$width
## [1] 205
## 
## $`_embedded`$venues[[20]]$images[[1]]$height
## [1] 115
## 
## $`_embedded`$venues[[20]]$images[[1]]$fallback
## [1] FALSE
## 
## 
## 
## $`_embedded`$venues[[20]]$postalCode
## [1] "65929"
## 
## $`_embedded`$venues[[20]]$timezone
## [1] "Europe/Berlin"
## 
## $`_embedded`$venues[[20]]$city
## $`_embedded`$venues[[20]]$city$name
## [1] "Frankfurt am Main"
## 
## 
## $`_embedded`$venues[[20]]$country
## $`_embedded`$venues[[20]]$country$name
## [1] "Germany"
## 
## $`_embedded`$venues[[20]]$country$countryCode
## [1] "DE"
## 
## 
## $`_embedded`$venues[[20]]$address
## $`_embedded`$venues[[20]]$address$line1
## [1] "Pfaffenwiese 301"
## 
## 
## $`_embedded`$venues[[20]]$location
## $`_embedded`$venues[[20]]$location$longitude
## [1] "8.51972"
## 
## $`_embedded`$venues[[20]]$location$latitude
## [1] "50.09914"
## 
## 
## $`_embedded`$venues[[20]]$upcomingEvents
## $`_embedded`$venues[[20]]$upcomingEvents$`_total`
## [1] 4
## 
## $`_embedded`$venues[[20]]$upcomingEvents$`mfx-de`
## [1] 4
## 
## $`_embedded`$venues[[20]]$upcomingEvents$`_filtered`
## [1] 0
## 
## 
## $`_embedded`$venues[[20]]$`_links`
## $`_embedded`$venues[[20]]$`_links`$self
## $`_embedded`$venues[[20]]$`_links`$self$href
## [1] "/discovery/v2/venues/Z598xZC2ZkF6F?locale=de-de"
## 
## 
## 
## 
## 
## 
## $`_links`
## $`_links`$first
## $`_links`$first$href
## [1] "/discovery/v2/venues?countryCode=DE&locale=*&page=0&size=20"
## 
## 
## $`_links`$self
## $`_links`$self$href
## [1] "/discovery/v2/venues?countryCode=DE&locale=*"
## 
## 
## $`_links`$`next`
## $`_links`$`next`$href
## [1] "/discovery/v2/venues?countryCode=DE&locale=*&page=1&size=20"
## 
## 
## $`_links`$last
## $`_links`$last$href
## [1] "/discovery/v2/venues?countryCode=DE&locale=*&page=646&size=20"
## 
## 
## 
## $page
## $page$size
## [1] 20
## 
## $page$totalElements
## [1] 12934
## 
## $page$totalPages
## [1] 647
## 
## $page$number
## [1] 0

The response of the API call is a nested list. On the first level there are three items:

  • _embedded contains the actual data we have requested. The value is a list itself. In this list, again, there is a list with all returned venues (each of which is a list, again)
  • _links contains the url that was used for the API call (excluding the apikey and the domain). In addition, it contains the urls for the first, next and last page.
  • page contains information about the returned page from the data source
  1. Extract the name, the city, the postalCode and address, as well as the url and the longitude and latitude of the venues to a data frame. This data frame should have the following structure:
## Rows: 20
## Columns: 7
## $ name       <chr> "Gruenspan", "Huxleys Neue Welt", "Kleine Olympiahalle", "Z~
## $ city       <chr> "Hamburg", "Berlin", "Munich", "Emmelshausen", "Mülheim", "~
## $ postalCode <dbl> 22767, 10967, 80809, 56281, 45479, 76646, 68766, 44263, 542~
## $ address    <chr> "Grosse Freiheit 58", "Hasenheide 107 – 113", "Spiridon-Lou~
## $ url        <chr> "http://www.ticketmaster.de/venue/287155", "http://www.tick~
## $ longitude  <dbl> 9.958075, 13.421380, 11.550920, 7.556560, 6.874710, 8.59908~
## $ latitude   <dbl> 53.55188, 52.48639, 48.17543, 50.15544, 51.42778, 49.12692,~
simplify_list <- function(l) {
  #' Simplify list
  #' 
  #' @description This function simplifies the list returned from the request
  #' by extracting relevant information for a single venue.
  #' 
  #' @param l list. The list that contains all returned information on a single
  #' venue
  #' 
  #' @return The simplified list with the relevant information
  
  l_simplified <- list(
    name = l$name,
    city = l$city$name,
    postalCode = l$postalCode,
    address = l$address$line1,
    url = l$url,
    longitude = l$location$longitude,
    latitude = l$location$latitude
  )
  
  return(l_simplified)
  
}
# apply function to each venue and stack in a data frame
lapply(venues_DE_first_page[["_embedded"]][["venues"]], simplify_list) %>% 
  list.stack() %>% 
  print_df(n = Inf, scrollbox = TRUE)
name city postalCode address url longitude latitude
Grosse Freiheit 36 Hamburg 22767 Grosse Freiheit 36 http://www.ticketmaster.de/venue/287636 9.957905 53.551187
Gruenspan Hamburg 22767 Grosse Freiheit 58 http://www.ticketmaster.de/venue/287155 9.958075 53.551885
Huxleys Neue Welt Berlin 10967 Hasenheide 107 – 113 http://www.ticketmaster.de/venue/286842 13.42138 52.486391
Zentrum am Park Emmelshausen 56281 Rhein-Mosel-Straße 45 https://www.ticketmaster.de/venue/zentrum-am-park-emmelshausen-tickets/elszentrum/701 7.55656 50.15544
Stadthalle (Theatersaal) Mülheim 45479 Theodor-Heuss-Platz 1 https://www.ticketmaster.de/venue/stadthalle-theatersaal--mulheim-tickets/mrustadtth/711 6.87471 51.42778
Schlossgarten Bruchsal 76646 Schloss Bruchsal https://www.ticketmaster.de/venue/schlossgarten-bruchsal-tickets/bruparkanl/701 8.59908 49.12692
Stadthalle Hockenheim 68766 Rathausstraße 3 https://www.ticketmaster.de/venue/stadthalle-hockenheim-tickets/hokstadtha/701 8.54908 49.31849
FZW Dortmund 44263 Ritterstraße 20 https://www.ticketmaster.de/venue/fzw-dortmund-tickets/dorfzw/701 7.4501 51.51481
Arena Trier Trier 54292 Fort-Worth-Platz 1 https://www.ticketmaster.de/venue/arena-trier-trier-tickets/triarena/701 6.66426 49.77183
Eissporthalle Memmingen 87700 Hühnerbergstraße 19 https://www.ticketmaster.de/venue/eissporthalle-memmingen-tickets/mmmeisspor/701 10.16293 47.97999
Stadthalle Gersthofen Gersthofen 86368 Rathausplatz 2 https://www.ticketmaster.de/venue/stadthalle-gersthofen-gersthofen-tickets/augstadtha/701 10.87803 48.42433
Feierwerk (Kranhalle) Munich 81373 Hansastraße 39-41 https://www.ticketmaster.de/venue/feierwerk-kranhalle--munchen-tickets/muefeierwk/701 11.53389 48.12914
Feierwerk (Hansa 39) Munich 81373 Hansastraße 39-41 https://www.ticketmaster.de/venue/feierwerk-hansa-39--munchen-tickets/muehansane/701 11.53389 48.12914
Burghof - STIMMEN-Festival Lörrach 79539 Herrenstraße 5 https://www.ticketmaster.de/venue/burghof-stimmen-festival-lorrach-tickets/loeburghof/701 7.65919 47.61109
Schiesssportanlage Neu Wulmstorf 21629 Wesenberg 1 https://www.ticketmaster.de/venue/schiesssportanlage-neu-wulmstorf-tickets/nwuschiess/701 9.79941 53.45047
WUNDERINO ARENA Kiel 24103 Europaplatz 1 https://www.ticketmaster.de/venue/wunderino-arena-kiel-tickets/kiesparkas/701 10.13139 54.32057
Stadtpark Open Air Hamburg 22303 Saarlandstraße / Ecke Jahnring https://www.ticketmaster.de/venue/stadtpark-open-air-hamburg-tickets/hamstadtpf/701 10.0295 53.60036
Laeiszhalle (Großer Saal) Hamburg 20355 Johannes-Brahms-Platz https://www.ticketmaster.de/venue/laeiszhalle-grosser-saal--hamburg-tickets/hamlaieszg/701 9.98061 53.55538
Friedrich-Ebert-Halle Hamburg 21075 Alter Postweg 30-38 https://www.ticketmaster.de/venue/friedrich-ebert-halle-hamburg-tickets/hamfriedri/701 9.96507 53.46498
myticket Jahrhunderthalle Frankfurt am Main 65929 Pfaffenwiese 301 https://www.ticketmaster.de/venue/myticket-jahrhunderthalle-frankfurt-am-main-tickets/famjahrkup/701 8.51972 50.09914

2 Interacting with the API - advanced

  1. Have a closer look at the list element named page. Did your GET request from exercise (7) return all event locations in Germany? Obviously not - there are of course much more venues in Germany than those contained in this list. Your GET request only yielded the first results page containing the first 20 out of several thousands of venues. Check the API documentation under the section Venue Search. How can you request the venues from the remaining results pages? Iterate over the results pages and perform GET requests for all venues in Germany. After each iteration, extract the seven variables name, city, postalCode, address, url, longitude, and latitude. Join the information in one large data frame. Print the first 10 rows and the shape of the resulting data frame. The resulting data frame should look something like this (note that the exact number of search results may have changed since this document has been last modified):
## Rows: 12,671
## Columns: 7
## $ name       <chr> "Gruenspan", "Huxleys Neue Welt", "Kleine Olympiahalle", "Z~
## $ city       <chr> "Hamburg", "Berlin", "Munich", "Emmelshausen", "Mülheim", "~
## $ postalCode <dbl> 22767, 10967, 80809, 56281, 45479, 76646, 68766, 44263, 542~
## $ address    <chr> "Grosse Freiheit 58", "Hasenheide 107 – 113", "Spiridon-Lou~
## $ url        <chr> "http://www.ticketmaster.de/venue/287155", "http://www.tick~
## $ longitude  <dbl> 9.958075, 13.421380, 11.550920, 7.556560, 6.874710, 8.59908~
## $ latitude   <dbl> 53.55188, 52.48639, 48.17543, 50.15544, 51.42778, 49.12692,~
get_venues_in_country <- function(country_code, verbose = TRUE) {
  #' Get venues in a country
  #' 
  #' @description Get all venues from ticketmaster via it's API and convert the 
  #' response to a data frame that contains a row for each venue.
  #' 
  #' @note This functions uses the global variables `apikey` and `url`. 
  #' In order to make this function work properly, these have to be defined.
  #' 
  #' @param country_code character. The country code to be used as parameter for
  #'  the API call
  #' @param verbose logical. Whether to print status messages to console
  #'  (default = TRUE)
  #' 
  #' @return Data frame that contains the information on all venues in the 
  #' country
  
  # define params for API calls (size parameter can be 500 max)
  params <- list(
    apikey = apikey, 
    countryCode = country_code, 
    locale = "*",
    size = 500
  )
  
  # first API call to get number of pages
  n_pages <- content(GET(url = url, query = params))$page$totalPages
  
  # save timestamp of when API call was completed
  time_last_apicall <- Sys.time()
  
  # preallocate vector to store single page data frames in
  single_page_dfs <- vector(mode = "list", length = n_pages)
  
  # print message
  if (verbose) {
    cat(
      paste("Starting to retrieve venues in country", country_code,
            "from", n_pages, "pages...\n")
    )
  }
  
  # loop through pages
  for (page in 1:n_pages) {
    
    # add page number to params dictionary (API starts counting at 0)
    params$page <- page - 1
    
    # make sure we do not more than 5 requests per second
    time_since_last_apicall <- Sys.time() - time_last_apicall
    Sys.sleep(max(0, 1/5 - time_since_last_apicall))
    
    # get venues list from API call response
    venues <- content(GET(url = url, query = params))$`_embedded`$venues
    
    # update timestamp of when API call was completed
    time_last_apicall <- Sys.time()
    
    # get data frame of all venues on the current page
    # and add to single_page_dfs list
    single_page_dfs[[page]] <- venues %>%
      lapply(simplify_list) %>% 
      list.stack()
    
    # print message (progress)
    percent <- page / n_pages * 100
    cat(sprintf('\rProgress: [%-50s] %d%%',
                paste(rep('#', percent / 2), collapse = ''),
                floor(percent)))
    if (page == n_pages)
      cat('\n')
  }
  
  # stack all data frames in single_page_dfs vector
  all_venues_df <- bind_rows(single_page_dfs)
  
  # convert longitude and latitude to numeric (character before)
  all_venues_df <- all_venues_df %>%
    mutate(across(c("longitude", "latitude"), as.numeric))
  
  # print message
  if (verbose) {
    cat(paste("Retrieved data for", nrow(all_venues_df), "venues.\n"))
  }
  
  # final sleep in case a new request is sent directly after executing 
  # this function
  time_since_last_apicall <- Sys.time() - time_last_apicall
  Sys.sleep(max(0, 1/5 - time_since_last_apicall))
  
  return(all_venues_df)
  
}
# call function for Germany (country_code='DE')
venues_DE <- get_venues_in_country("DE")
## Starting to retrieve venues in country DE from 26 pages...
## 
Progress: [#                                                 ] 3%
Progress: [###                                               ] 7%
Progress: [#####                                             ] 11%
Progress: [#######                                           ] 15%
Progress: [#########                                         ] 19%
Progress: [###########                                       ] 23%
Progress: [#############                                     ] 26%
Progress: [###############                                   ] 30%
Progress: [#################                                 ] 34%
Progress: [###################                               ] 38%
Progress: [#####################                             ] 42%
Progress: [#######################                           ] 46%
Progress: [#########################                         ] 50%
Progress: [##########################                        ] 53%
Progress: [############################                      ] 57%
Progress: [##############################                    ] 61%
Progress: [################################                  ] 65%
Progress: [##################################                ] 69%
Progress: [####################################              ] 73%
Progress: [######################################            ] 76%
Progress: [########################################          ] 80%
Progress: [##########################################        ] 84%
Progress: [############################################      ] 88%
Progress: [##############################################    ] 92%
Progress: [################################################  ] 96%
Progress: [##################################################] 100%
## Retrieved data for 12934 venues.
# show data frame (first 10 rows only)
print_df(venues_DE)
name city postalCode address url longitude latitude
Grosse Freiheit 36 Hamburg 22767 Grosse Freiheit 36 http://www.ticketmaster.de/venue/287636 9.957905 53.55119
Gruenspan Hamburg 22767 Grosse Freiheit 58 http://www.ticketmaster.de/venue/287155 9.958075 53.55188
Huxleys Neue Welt Berlin 10967 Hasenheide 107 – 113 http://www.ticketmaster.de/venue/286842 13.421380 52.48639
Zentrum am Park Emmelshausen 56281 Rhein-Mosel-Straße 45 https://www.ticketmaster.de/venue/zentrum-am-park-emmelshausen-tickets/elszentrum/701 7.556560 50.15544
Stadthalle (Theatersaal) Mülheim 45479 Theodor-Heuss-Platz 1 https://www.ticketmaster.de/venue/stadthalle-theatersaal--mulheim-tickets/mrustadtth/711 6.874710 51.42778
Schlossgarten Bruchsal 76646 Schloss Bruchsal https://www.ticketmaster.de/venue/schlossgarten-bruchsal-tickets/bruparkanl/701 8.599080 49.12692
Stadthalle Hockenheim 68766 Rathausstraße 3 https://www.ticketmaster.de/venue/stadthalle-hockenheim-tickets/hokstadtha/701 8.549080 49.31849
FZW Dortmund 44263 Ritterstraße 20 https://www.ticketmaster.de/venue/fzw-dortmund-tickets/dorfzw/701 7.450100 51.51481
Arena Trier Trier 54292 Fort-Worth-Platz 1 https://www.ticketmaster.de/venue/arena-trier-trier-tickets/triarena/701 6.664260 49.77183
Eissporthalle Memmingen 87700 Hühnerbergstraße 19 https://www.ticketmaster.de/venue/eissporthalle-memmingen-tickets/mmmeisspor/701 10.162930 47.97999
# print shape
print(dim(venues_DE))
## [1] 12934     7

3 Visualizing the extracted data

  1. Below, you can find code that produces a map of Germany. Add points to the map indicating the locations of the event venues across Germany.
plot_venues <- function(
    venues_df, 
    country, 
    lon_lat_ranges = NULL, 
    verbose = TRUE) {
  #' Plot venues in a country
  #' 
  #' @description Plot venues in a specific country as points on a map.
  #' 
  #' @param venues_df tibble. A data frame with the venue data
  #' (longitude and latitude have to be  numeric)
  #' 
  #' @param country character. The name of the country, needed for retrieving the 
  #' base map
  #' @param lon_lat_ranges list. A list that contains the ranges for longitude and 
  #' latitude to clip the data, only used if not NULL 
  #' (default = NULL)
  #' @param verbose logical. Whether it should be printed how many venues are
  #' not plotted for different reasons
  #' (default = TRUE)

    # print number of missing values
    if (verbose) {
      
      # compute number of missing values
      n_NAs <- venues_df %>% 
        filter(is.na(longitude) | is.na(latitude)) %>% 
        nrow()
      
      # print message
      print(paste(n_NAs, "venues are not plotted due to missing coordinates."))
      
    }

  # filter data for longitude and latitude ranges (only if provided)
  if (!is.null(lon_lat_ranges)) {
    
    # for print message original number of venues is needed
    if (verbose) {
        n_venues_orig <- nrow(venues_df)
    }

    # filter venues by coordinate ranges
    venues_df <- venues_df %>% 
      filter(
        longitude >= lon_lat_ranges$longitude[1],
        longitude <= lon_lat_ranges$longitude[2],
        latitude >= lon_lat_ranges$latitude[1],
        latitude <= lon_lat_ranges$latitude[2])

    # print message
    if (verbose) {
      print(paste(
        n_venues_orig - nrow(venues_df) - n_NAs, 
        "venues are not plotted due to faulty coordinates."))
    }
  }
  
  # create plot
  ggplot() +
    # map
    borders("world", country, colour = "black", fill = "grey90") +
    # venues as points
    geom_point(aes(x = venues_df$longitude, y = venues_df$latitude),
               color = "darkblue", alpha = 0.3, size = 0.3) +
    # remove ticks, labels, spines etc
    theme_void() +
    # map projection
    coord_quickmap() +
    # labels
    labs(title = paste("Event locations across", country),
         caption = "Source: ticketmaster.com") +
    # theme adjustments
    theme(title = element_text(size=8, face='bold'),
          plot.title = element_text(hjust = 0.5),
          plot.caption = element_text(face = "italic"))

}
# call plotting function without specifying the extreme points
plot_venues(venues_df = venues_DE, country = "Germany")
## [1] "4407 venues are not plotted due to missing coordinates."

  1. You will find that some coordinates lie way beyond the German borders and can be assumed to be faulty. Set coordinate values to NA where the value of longitude is outside the range (5.866, 15.042) or where the value of latitude is outside the range (47.270, 55.059) (these coordinate ranges have been derived from the extreme points of Germany as listed on Wikipedia (see here). For extreme points of other countries, see here).
# call plotting function and pass extreme points
plot_venues(
  venues_df = venues_DE, 
  country = "Germany",
  lon_lat_ranges = list(
    longitude = c(5.866, 15.042),
    latitude = c(47.270, 55.059)
  )
)
## [1] "4407 venues are not plotted due to missing coordinates."
## [1] "89 venues are not plotted due to faulty coordinates."

4 Event locations in other countries

  1. Repeat exercises (9)–(11) for another European country of your choice. (Hint: Clean code pays off! If you have coded the exercises efficiently, only very few adaptions need to be made.)
# call function for Germany (country_code='DE')
venues_NL <- get_venues_in_country("NL")
## Starting to retrieve venues in country NL from 5 pages...
## 
Progress: [##########                                        ] 20%
Progress: [####################                              ] 40%
Progress: [##############################                    ] 60%
Progress: [########################################          ] 80%
Progress: [##################################################] 100%
## Retrieved data for 2162 venues.
# show data frame (first 10 rows only)
print_df(venues_NL, scrollbox = TRUE)
name city postalCode address url longitude latitude
Gelredome Arnhem 6841 HN Batavierenweg 25 https://www.ticketmaster.nl/venue/gelredome-arnhem-tickets/gelre/107 5.89304 51.96359
Gashouder, Westergasfabriek Amsterdam 1014 DD Klonneplein 1 https://www.ticketmaster.nl/venue/transformatorhuis-amsterdam-tickets/gaswes/105 4.86984 52.38680
Het Concertgebouw Grote Zaal Amsterdam 1071 LN Concertgebouwplein 10 https://www.ticketmaster.nl/venue/het-concertgebouw-grote-zaal-amsterdam-tickets/concert/107 4.87830 52.35587
Diverse Locaties Rotterdam NA NA https://www.ticketmaster.nl/venue/diverse-locaties-rotterdam-tickets/diverot/105 4.47846 51.92285
Grand Theatre Groningen 9711 LV Grote Markt 35 https://www.ticketmaster.nl/venue/grand-theatre-groningen-tickets/grand/108 6.56866 53.21829
Mainstage Den Bosch 5222 AA Oude Engelenseweg 1 https://www.ticketmaster.nl/venue/mainstage-den-bosch-tickets/brab/107 5.28999 51.70140
Brabanthallen, Den Bosch Den Bosch 5222AA Oude Engelenseweg 1 https://www.ticketmaster.nl/venue/brabanthallen-mainstage-den-bosch-tickets/brab/105 5.28999 51.70140
Johan Cruijff ArenA Amsterdam 1101 AX ArenA Boulevard 1 https://www.ticketmaster.nl/venue/johan-cruijff-arena-amsterdam-tickets/arena/107 4.94050 52.31373
Jan Cunenpark Oss NA Heschepad https://www.ticketmaster.nl/venue/jan-cunenpark-oss-tickets/jancunen/105 5.52426 51.76618
Annabel Rotterdam 3013 AH Schiestraat 18 https://www.ticketmaster.nl/venue/annabel-rotterdam-tickets/annabel/116 4.47610 51.92570
# print shape
print(dim(venues_NL))
## [1] 2162    7
# call plotting function and pass extreme points
plot_venues(
  venues_df = venues_NL, 
  country = "Netherlands",
  lon_lat_ranges = list(
    longitude = c(3.355, 7.223333333333334),
    latitude = c(50.750166666666665, 53.553)
  )
)
## [1] "23 venues are not plotted due to missing coordinates."
## [1] "18 venues are not plotted due to faulty coordinates."